gateway 集群模式接入使用

网关集群架构图
集群模式说明

Gateway 集群模式通过 Nginx 反向代理实现多个网关节点的负载均衡,提升系统可用性和吞吐量。适用于生产环境高并发场景。

配置 Nginx 负载均衡

1. 编辑 Nginx 配置文件

在 Nginx 配置文件中添加以下内容,配置网关节点的负载均衡:

# 定义网关节点集群
upstream gateways {
  server 127.0.0.1:9999;   # 网关节点 1
  server 127.0.0.1:19999;  # 网关节点 2
  server 127.0.0.1:29999;  # 网关节点 3
}

server {
  listen 39999;  # Nginx 监听端口

  location / {
    proxy_pass http://gateways/;  # 转发到网关集群
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}
端口规划

确保各网关节点端口不冲突,Nginx 监听端口需避开系统保留端口和已占用端口。

2. 重载 Nginx 配置

保存配置文件后,执行以下命令使配置生效:

# 检查配置文件语法
nginx -t

# 重载配置
nginx -s reload
配置完成

Nginx 负载均衡配置成功,请继续配置前端访问地址。

修改前端网关地址

1. 更新环境配置文件

修改前端项目的环境配置文件(如 .env.production),将网关地址更新为 Nginx 监听地址:

# 修改为 Nginx 监听的 IP:PORT
VITE_APP_BASE_API=http://192.168.1.100:39999
前端环境配置示例

2. 重新构建前端项目

配置修改后,需要重新构建前端项目:

# 生产环境构建
pnpm build
开发环境

开发环境可直接修改 .env.development 文件并重启开发服务器。

验证集群配置

1. 检查网关节点状态

确保所有网关节点正常运行:

# 检查各节点是否监听对应端口
netstat -tuln | grep -E '9999|19999|29999'

2. 测试负载均衡

访问 Nginx 监听地址,观察请求是否均匀分配到各网关节点:

# 多次请求测试
curl http://192.168.1.100:39999/actuator/health
负载策略

默认使用轮询策略。如需调整负载策略(如权重、IP哈希),请参考 Nginx upstream 模块文档。